{
    "header": "0xFFFF",
    "target": "mcu",
    "commands": {
        "get_mcu_info_w2m": {
            "cmd": "0x01"
        },
        "get_mcu_info_w2m_ack": {
            "cmd": "0x02",
            "props": [
                {
                    "name": "protocol_ver",
                    "type": "string",
                    "fixed_length": 8
                },
                {
                    "name": "p0_ver",
                    "type": "string",
                    "fixed_length": 8
                },
                {
                    "name": "hard_ver",
                    "type": "string",
                    "fixed_length": 8
                },
                {
                    "name": "soft_ver",
                    "type": "string",
                    "fixed_length": 8
                },
                {
                    "name": "product_key",
                    "type": "string",
                    "fixed_length": 32
                },
                {
                    "name": "bindable_timeout",
                    "type": "UInt16"
                }
            ]
        },
        "w2m": {
            "cmd": "0x03",
            "props": [
                {
                    "name": "p0",
                    "type": "p0",
                    "optional": true
                }
            ]
        },
        "w2m_ack": {
            "cmd": "0x04",
            "props": [
                {
                    "name": "p0",
                    "type": "p0",
                    "optional": true
                }
            ]
        },
        "m2w": {
            "cmd": "0x05",
            "props": [
                {
                    "name": "p0",
                    "type": "p0"
                }
            ]
        },
        "m2w_ack": {
            "cmd": "0x06"
        },
        "ping_w2m": {
            "cmd": "0x07"
        },
        "ping_w2m_ack": {
            "cmd": "0x08"
        },
        "config_m2w": {
            "cmd": "0x09",
            "props": [
                {
                    "name": "config_method",
                    "type": "UInt8"
                }
            ]
        },
        "config_m2w_ack": {
            "cmd": "0x0a"
        },
        "reset_m2w": {
            "cmd": "0x0b"
        },
        "reset_m2w_ack": {
            "cmd": "0x0c"
        },
        "wifi_status_w2m": {
            "cmd": "0x0d",
            "props": [
                {
                    "name": "wifi_status",
                    "type": "BitSet",
                    "fixed_length": 16,
                    "props": [
                        {
                            "name": "soft_ap",
                            "type": "bool"
                        },
                        {
                            "name": "station",
                            "type": "bool"
                        },
                        {
                            "name": "config",
                            "type": "bool"
                        },
                        {
                            "name": "binding",
                            "type": "bool"
                        },
                        {
                            "name": "router_connected",
                            "type": "bool"
                        },
                        {
                            "name": "cloud_connected",
                            "type": "bool"
                        },
                        {
                            "name": "b6",
                            "type": "bool"
                        },
                        {
                            "name": "b7",
                            "type": "bool"
                        },
                        {
                            "name": "b8",
                            "type": "bool"
                        },
                        {
                            "name": "b9",
                            "type": "bool"
                        },
                        {
                            "name": "b10",
                            "type": "bool"
                        },
                        {
                            "name": "b11",
                            "type": "bool"
                        },
                        {
                            "name": "b12",
                            "type": "bool"
                        },
                        {
                            "name": "b13",
                            "type": "bool"
                        },
                        {
                            "name": "b14",
                            "type": "bool"
                        },
                        {
                            "name": "b15",
                            "type": "bool"
                        }
                    ]
                }
            ]
        },
        "wifi_status_w2m_ack": {
            "cmd": "0x0e"
        }
    }
}
